The use of portable electronic devices has exploded in recent years. As shown in FIG. 1, individuals today carry portable electronic devices such as wireless phones 18, PDAs, music players 20, laptop computers 12, and other similar devices. These devices may be battery powered, which means that each device may operate for a finite period of time before its respective battery is exhausted. Even with improved battery technologies, it is not uncommon for the battery life for such portable electronic devices to be anywhere from a few hours to a few days.
As a nonlimiting example, a person taking a cross-country flight from New York to Los Angeles desiring to utilize music player 20 for the long flight may need to recharge the player 20 before returning back to the East Coast on the return flight. Thus, the individual would need to pack the requisite accompanying equipment to recharge the player's battery prior to the return flight, in this nonlimiting example, as the music player 20 otherwise would not have the battery life to operate for both the outgoing and return flights. This is but one nonlimiting example, as one of ordinary skill in the art would readily know of other examples wherein the battery life of such portable electronic devices may lead to periodic recharging.
These portable electronics may include one or more processors, which may be configured to consume a significant amount of battery energy, thereby leading to a relatively short battery life. At least one reason that a processor may prematurely exhaust a battery may be related to the fact that processors of today are oftentimes configured to make certain that each data bit processed is either a 0 or 1 at each step of a calculation. In making attempts to ensure a particular value as being a 0 or a 1, a processor may consume a significant amount of energy by holding that particular state at the 0 or 1. Furthermore, a processor containing millions of switches may consume a significant amount of the battery's energy in ensuring the accuracy of each switch's change of state from either 1 to 0 or 0 to 1. So in ensuring the accuracy of each switch as it changes state, a typical processor may consume additional battery energy that may otherwise be used for extended processing time.
Moreover, one of ordinary skill would know that some quantifiable level of battery energy may be lost due to leakage currents in the processor's transistor switches. Leakage current refers to the amount of current that flows through the transistor switch when there is no switching action. So for the millions of transistors in a typical processor chip, the aggregated leakage may significantly reduce battery life.
FIG. 1, as referenced above, is a diagram of a nonlimiting exemplary group of devices that may operate on battery power and/or may otherwise be configured for power conservation operations. In this nonlimiting example of FIG. 1, processor chip 10 may be included in each of laptop 12, videocamera 14, television 16, wireless telephone 18, and music player 20. These devices shown in FIG. 1 are but nonlimiting examples, as one of ordinary skill in the art would know of additional nonlimiting examples which may also have a processor similar to processor 10 of FIG. 1. Nevertheless, in this nonlimiting example, exploded window 24 depicts four transistor switches 26-29 of a potentially much larger number, which may be contained in processor 10. Stated another way, transistor switches 26-29 may comprise four of the millions of transistor switches resident in the processor 10 chip.
As the transistor switches 26-29 switch states from 0 to 1 and/or 1 to 0, the battery resident in each of the portable devices of FIG. 1 may be more quickly drained if processor 10 is configured so as to calculate with a greater degree of certainty for each transistor to change its status from a 0 to 1 or a 1 to 0. Moreover, as stated above, the leakage current for each transistor 26-29, as well as the rest of the millions of transistors on processor 10, may be aggregated to a significant amount such that the battery in each of devices 12, 14, 16, 18 and 20 of FIG. 1 may be caused to expire more quickly.
Furthermore, in compliance with Moore's Law, which states that silicon power doubles approximately every 18 months to 2 years, the number of transistors resident on processor 10 will likely increase over time as the size of the transistors decreases. As a nonlimiting example, if semiconductor engineers reduce the size of transistors by only approximately 10% a year, a twofold increase in the number of transistors on a chip will likely be realized every 18 months to 2 years.
Even on processor 10, transistors on the chip are not necessarily identical to each other. As transistors become smaller and smaller, variability between transistors steadily increases. As the various transistors on processor 10 may look different electrically, the result may be realized in haphazard variations in performance of processor 10. As a result, processor 10 may actually become more unreliable as an increasing amount of transistors are included in processor 10, thereby resulting in an untrustworthy quotient in each of laptop 10, camera 14, television 16, wireless phone 18, and music player 20, all of FIG. 1.
The amount of heat generated by a processor is a limitation for processors configured with a large number of transistors, as well as processors configured for high speed operation and calculations. Thus, to avoid melting the copper circuit lines within the processor 10, such chips may be fitted with speed limiters. Speed limiters may be configured to prevent a processor 10 chip from calculating numbers as fast as it otherwise may. Nevertheless, the heat generated in processor 10 may be be attributed to the deterministic design of the chip itself, that is, to ensure data bits at 1s or 0s.
Prior attempts have been made to conserve battery life and also to reduce the heat generated by processor 10; however, results have been mixed. In one nonlimiting example, chip designers have created schemes that activate certain blocks of transistors used for particular calculations and deactivate the remaining blocks of transistors of the processor 10 so as to conserve battery energy and to reduce heat from a lesser number of transistors that are actually used. Here, the activation of blocks of transistors refers to triggering these blocks of transistors for receipt and evaluation of their inputs in order to produce the corresponding new output data. Whereas, the deactivation of blocks of transistors refers to preventing these blocks of transistors from receiving and hence evaluating their inputs. Therefore, once the blocks of transistors are deactivated, they do not perform any switching action and hence, hold their previous states.
While this solution is an improvement over prior designs which simply activate all transistors of a processor 10, thereby consuming a greater amount of energy of a device's battery, this solution still fails to adequately preserve a battery. In this instance, a substantial number of transistors even in the blocks that are activated are still unused, thereby essentially wasting valuable battery energy. Plus, this solution does not account for the energy consumed due to the deterministic approach to ensure the accuracy of each calculation as being either a 1 or a 0. Even activating select blocks of transistors on processor 10 still results in wasted battery energy and reduced battery life.
Moreover, due to decreased feature sizes, dopant fluctuations, thermal noise, increased sensitivity to VT, capacitive/inductive noise, interconnect variations, crosstalk, power grid noise, tunneling noise, inter-/intra-die process variations as well as defects, etc.; the devices at nano-scale can easily become destabilized, and hence, showing randomized behaviors. To overcome noise effects and some of the aforementioned imperfections, energy consumption has been traded in for noise tolerance via increasing the operating supply voltage, which in turn increases the energy consumption. However, energy consumption, and associated thermal/heat dissipation are already major problems that are increasing with technology scaling. Therefore, it is difficult to fulfill low-power requirements while preserving a robust device operation. Stated another way, meeting low-power requirements increases the likelihood of unreliable device operations.
Such unreliable devices are likely to be more susceptible to noise, heat, defects, etc., which means that they may most likely be probabilistic—rather than deterministic—in nature. As the probabilistic behavior becomes the inevitable feature of these devices, processors will have to be made up of these unreliable devices while still operating at a desired performance level.
As a result, a heretofore unaddressed need exists to overcome the deficiencies and shortcomings described above.